package com.framework.service.system;

import com.framework.common.model.response.R;
import com.framework.model.system.vo.SystemUserRoleVo;
import java.util.List;

/**
 * @author 龘鵺
 * @version 1.0
 * @className com.framework.service.system
 * @description 用户角色关联业务接口类
 * @datetime 2019-01-09 11:11:11
 */
public interface SystemUserRoleService {
    /**
     * @param row 1 用户角色关联类实体对象
     * @return int 大于等于1成功， 0失败
     * @title 公共根据用户编号，用户编号集合物理批量删除
     * @description 公共根据用户编号，用户编号集合物理批量删除
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    int deleteList(SystemUserRoleVo row);

    /**
     * @param userId 1 用户编号
     * @return int 大于等于1成功， 0失败
     * @title 公共根据用户编号物理删除
     * @description 公共根据用户编号物理删除
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    int deleteUserId(Long userId);

    /**
     * @param row 1 用户角色实体类对象
     * @return int 大于0成功，小于等于0失败
     * @title 公共添加
     * @description 公共添加
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    int insert(SystemUserRoleVo row);

    /**
     * @param row 1 用户角色实体类对象
     * @return int 大于0成功，小于等于0失败
     * @title 公共非空字段验证添加
     * @description 公共非空字段验证添加
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    int insertSelective(SystemUserRoleVo row);

    /**
     * @param list 1 用户角色批量添加集合
     * @return int 返回成功数量
     * @title 公共批量添加
     * @description 公共批量添加
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    int insertList(List<SystemUserRoleVo> list);

    /**
     * @param row 1 用户角色实体类对象
     * @return java.util.List<com.framework.model.system.vo.SystemUserRoleVo>
     * @title 公共根据条件查询集合
     * @description 公共根据条件查询集合
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    List<SystemUserRoleVo> findByList(SystemUserRoleVo row);

    /**
     * @param row 1 用户角色关联类对象
     * @return java.util.List<com.framework.model.system.vo.SystemUserRoleVo>
     * @title 公共根据条件查询存在集合
     * @description 公共根据条件查询存在集合
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    List<SystemUserRoleVo> findByIsExistList(SystemUserRoleVo row);

    /**
     * @param userId     1 用户编号
     * @param roleIdList 2 角色编号集合
     * @return com.framework.common.model.response.R
     * @title 本类后台管理添加方法
     * @description 本类后台管理添加方法
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    R<?> save(Long userId, List<Long> roleIdList);

    /**
     * @param userId 1 用户编号
     * @return com.framework.common.model.response.R
     * @title 根据条件查询集合关联选中方法
     * @description 根据条件查询集合关联选中方法
     * @author 龘鵺
     * @datetime 2019-01-09 11:11:11
     */
    SystemUserRoleVo findByParamList(Long userId);

}
